home *** CD-ROM | disk | FTP | other *** search
- #include "pz.h"
-
- /* Gets difficulty from the user. */
-
- #define GADWIDTH 40
- #define GADHEIGHT 10
- #define GADX 100
- #define GADY 300
- #define NUMGADS 4
-
- struct Gadget pzgad[NUMGADS];
-
-
- unsigned short gadborderxy[] = {
- -1,-1, GADWIDTH,-1, GADWIDTH, GADHEIGHT, -1, GADHEIGHT, -1,-1
- };
-
- static struct Border gadborder = {0, 0, 1, 0, JAM1, 5, gadborderxy, NULL};
-
- static struct Gadget samplegad = {
- NULL, 0, GADY, GADWIDTH, GADHEIGHT,
- GADGHCOMP, RELVERIFY, BOOLGADGET, &gadborder, NULL, NULL, 0L, NULL, 0, NULL};
-
- int GetDifficulty (win)
- struct Window *win;
- {
- int cnt;
- struct IntuiMessage *msg;
-
- for (cnt = 0; cnt < NUMGADS; cnt++) {
- pzgad[cnt] = samplegad; /* Structure copy */
- pzgad[cnt].LeftEdge = GADX + cnt * (GADWIDTH + 10);
- if (cnt == NUMGADS) {
- pzgad[cnt].GadgetID = DIFF_EASY + cnt;
- pzgad[cnt].NextGadget = &pzgad[cnt+1];
- }
- }
-
- AddGList (win, pzgad, -1, -1, NULL);
- RefreshGList (win->FirstGadget, win, NULL, -1);
-
- cnt = -1;
- while (true) {
- while (msg = GetMsg(win->UserPort)) {
- if (msg.Class == GADGETUP)
- cnt = ((struct Gadget *)(msg->IAddress)).GadgetID;
- ReplyMsg (msg);
- if (cnt != -1) {
- RemoveGList (win, pzgads, -1);
- return (cnt);
- }
- }
- Wait (1L << win->UserPort->mp_SigBit);
- }
- }
-
-
-
-